Docker 命令行管理 lazydocker
1 背景知识
lazydocker是基于终端的 Docker和 docker-compose 可视化查询工具,它可以在一个终端窗口中拥有所需的所有信息,并且每个 Docker 常用命令都可以绑定快捷键,同时可以添加自定义命令,还支持敲击键盘或单击鼠标,其他百度...
1.1 项目地址
https://github.com/jesseduffield/lazydocker
2 安装与部署
2.1 二进制安装
- 下载并解压。
wget https://github.com/jesseduffield/lazydocker/releases/download/v0.12/lazydocker_0.12_Linux_x86_64.tar.gz
tar -xzvf lazydocker_0.12_Linux_x86_64.tar.gz
- 移动到执行目录。
chmod +x lazydocker
mv lazydocker /usr/<span>local</span>/bin/
2.2 命令一键安装
2.3 简化命令
为了方便,可以设置一个别称 lzd
。
echo "alias lzd='lazydocker'" >> ~/.bash_profile
此时,直接执行 lzd
即可在终端上显示容器的各种指标状态图,可以使用鼠标直接点击,可查看日志,状态,配置文件等等
按 ESC键
或者 q
可以退出界面,x
可以弹出命令菜单进行更多的操作
3 快捷键
在 lazydocker 的交互式界面中,还提供了多种快捷键,可以通过快捷键快速的在多种功能之间切换
3.1 通用快捷键
通用快捷键 | 注释 |
---|---|
[ |
上一个选项 |
] |
下一个选项 |
m |
显示日志 |
b |
显示二级菜单 |
回车 | focus main panel |
3.2 Project 界面
快捷键 | 注释 |
---|---|
e |
编辑配置文件 |
o |
打开配置文件 |
3.3 Containers 界面
快捷键 | 注释 |
---|---|
d |
移除容器 |
e |
显示/隐藏已停止的容器 |
s |
停止容器 |
r |
重启容器 |
a |
使用 attach 命令进入容器 |
c |
使用 exec 命令进入容器 |
3.4 Services 界面
快捷键 | 注释 |
---|---|
d |
移除容器 |
s |
停止服务 |
r |
重启服务 |
a |
使用 attach 命令进入容器 |
R |
view restart options |
c |
运行预定义的自定义命令 |
3.5 Images 界面
快捷键 | 注释 |
---|---|
c |
运行预定义的自定义命令 |
d |
移除镜像 |
3.6 Volumes 界面
快捷键 | 注释 |
---|---|
c |
运行预定义的自定义命令 |
d |
删除数据卷 |
4 定制化配置
支持个性化定制,通过 config.yml
配置文件定义快捷键、定义配色、自定义显示 Git
命令内容等
vim ~/.config/lazydocker/config.yml
你也可以在打开 lazydocker 之后,鼠标移到左上方,使用快捷键 o
即可打开配置文件进入编辑状态,此时直接编辑即可。
本人使用的配置如下:
gui:
scrollHeight: 2
theme:
activeBorderColor:
- green
- bold
inactiveBorderColor:
- white
optionsTextColor:
- blue
returnImmediately: false
wrapMainPanel: false
reporting: undetermined
commandTemplates:
dockerCompose: docker-compose
restartService: '{{ .DockerCompose }} restart {{ .Service.Name }}'
stopService: '{{ .DockerCompose }} stop {{ .Service.Name }}'
serviceLogs: '{{ .DockerCompose }} logs --since=60m --follow {{ .Service.Name }}'
viewServiceLogs: '{{ .DockerCompose }} logs --follow {{ .Service.Name }}'
rebuildService: '{{ .DockerCompose }} up -d --build {{ .Service.Name }}'
recreateService: '{{ .DockerCompose }} up -d --force-recreate {{ .Service.Name }}'
viewContainerLogs: docker logs --timestamps --follow --since=60m {{ .Container.ID
}}
containerLogs: docker logs --timestamps --follow --since=60m {{ .Container.ID }}
allLogs: '{{ .DockerCompose }} logs --tail=300 --follow'
viewAlLogs: '{{ .DockerCompose }} logs'
dockerComposeConfig: '{{ .DockerCompose }} config'
checkDockerComposeConfig: '{{ .DockerCompose }} config --quiet'
serviceTop: '{{ .DockerCompose }} top {{ .Service.Name }}'
customCommands:
containers:
- name: bash
attach: true
command: docker exec -it {{ .Container.ID }} /bin/sh
serviceNames: []
oS:
openCommand: open {{filename}}
openLinkCommand: open {{link}}
update:
dockerRefreshInterval: 100ms
stats:
graphs:
- caption: CPU (%)
statPath: DerivedStats.CPUPercentage
color: blue
- caption: Memory (%)
statPath: DerivedStats.MemoryPercentage
color: green
5 参考链接
jesseduffield/lazydocker: The lazier way to manage everything docker